package com.agileboot.attendance.domain.record.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 考勤记录查询DTO
 *
 * @author agileboot
 */
@Data
@Schema(description = "考勤记录查询参数")
public class AttendanceRecordQueryDTO {

    /**
     * 员工ID
     */
    @Schema(description = "员工ID")
    private Long employeeId;

    /**
     * 员工姓名
     */
    @Schema(description = "员工姓名")
    private String employeeName;

    /**
     * 考勤日期
     */
    @Schema(description = "考勤日期")
    private LocalDate attendanceDate;

    /**
     * 开始日期
     */
    @Schema(description = "开始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate startDate;

    /**
     * 结束日期
     */
    @Schema(description = "结束日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate endDate;

    /**
     * 考勤状态（0正常 1异常 2请假 3出差）
     */
    @Schema(description = "考勤状态（0正常 1异常 2请假 3出差）")
    private String status;

    /**
     * 考勤规则ID
     */
    @Schema(description = "考勤规则ID")
    private Long ruleId;
}
